1. Field of the Invention
This invention relates to object detection.
2. Description of the Prior Art
The following description relates to a problem present in the detection of various types of objects, but will be discussed with respect to face detection for clarity of the description.
Many human-face detection algorithms have been proposed in the literature, including the use of so-called eigenfaces, face template matching, deformable template matching or neural network classification. None of these is perfect, and each generally has associated advantages and disadvantages. None gives an absolutely reliable indication that an image contains a face; on the contrary, they are all based upon a probabilistic assessment, based on a mathematical analysis of the image, of whether the image has at least a certain likelihood of containing a face. Depending on their application, the algorithms generally have the threshold likelihood value set quite high, to try to avoid false detections of faces.
In any sort of block-based analysis of a possible face, or an analysis involving a comparison between the possible face and some pre-derived data indicative of the presence of a face, there is the difficulty that the blocks have been “trained” on faces of a particular size. This can make a simple block-based system unsuitable for detection of a face of a different size.
A solution to this is for the system to attempt to detect faces at a number of different sizes or scales within an image. This generally means performing a block-based comparison using several different scale or size variations of the image. (Of course, the test blocks can be changed in size, or the image can be changed in size, or both, to achieve this). To avoid detecting the same face several times, the data corresponding to the different scales have to be compared and the most likely face selected at a particular image position from amongst the different scales. However, as face probability data for one scale can represent a large amount of data, the storage capacity needed to manipulate many different scales can be very large. This can be a particular problem in face detection systems embodied in, for example, application specific integrated circuits or field programmable gate arrays.